package com.bright.hxj.cwduijie.pojo.command;

import com.bright.hxj.cwduijie.constant.SystemConstants;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;

/**
 * @Author hxj
 * @Date 2024/7/16 09:29
 * @Description
 */

@Data
//@AllArgsConstructor
public class DuijieCommand {

    @NotNull(message = "年份不能为空")
    private Integer years;
    @NotNull(message = "月份不能为空")
    private Integer months;
    private List<Object> accSets;

    /**
     * 1、校验账套信用代码是否重复、是否合规
     * 2、推月结不判断是否有校验失败数据
     * 3、信用代码不筛选N开头
     */
    private Boolean noCheck = false;
    /**
     * 是否跳过检验账套信息表的canFlag
     */
    private Boolean noCheckCanFlag = false;

    /**
     * 指定哪些接口
     */
    private List<String> serviceCodes = Collections.emptyList();

    /**
     * v1.7.2 指定一批推多少条 不填默认1000
     */
    @Range(min = 1, max = SystemConstants.DEFAULT_BATCH_SIZE)
    private Integer batchSize;

    public DuijieCommand() {

    }

    public DuijieCommand(Integer years, Integer months, List<Object> accSets) {
        this.years = years;
        this.months = months;
        this.accSets = accSets;
    }

}
